import { IPSModelObject } from '../ipsmodel-object';
import { IPSDataEntity } from '../dataentity/ipsdata-entity';
import { IPSDEDataQuery } from '../dataentity/ds/ipsdedata-query';

/**
 *
 * @export
 * @interface IPSBIAggTable
 */
export interface IPSBIAggTable extends IPSModelObject {
  /**
   * 代码标识
   * @type {string}
   */
  codeName: string;

  /**
   * 数据查询
   *
   * @type {IPSDEDataQuery}
   */
  getPSDEDataQuery(): IPSDEDataQuery | null;

  /**
   * 数据查询
   *
   * @type {IPSDEDataQuery}
   */
  get psDEDataQuery(): IPSDEDataQuery | null;

  /**
   * 数据查询（必须存在）
   *
   * @type {IPSDEDataQuery}
   */
  getPSDEDataQueryMust(): IPSDEDataQuery;

  /**
   * 实体
   *
   * @type {IPSDataEntity}
   */
  getPSDataEntity(): IPSDataEntity | null;

  /**
   * 实体
   *
   * @type {IPSDataEntity}
   */
  get psDataEntity(): IPSDataEntity | null;

  /**
   * 实体（必须存在）
   *
   * @type {IPSDataEntity}
   */
  getPSDataEntityMust(): IPSDataEntity;

  /**
   * 聚合数据表标记
   * @type {string}
   */
  tableTag: string;

  /**
   * 聚合数据表标记2
   * @type {string}
   */
  tableTag2: string;
}
